At least one example embodiment of the inventive concepts relates to a storage device and a user device, and more particularly, to storage and user devices supporting a virtualization function.
There is a solid state drive (SSD) as a typical example of a data storage device based on a flash memory device. Examples of an interface being used in a data storage device such as a SSD include a serial AT attachment (SATA), a peripheral component interconnect express (PCIe), a serial attached small computer system interface (SCSI) (SAS), etc. Performance of a SSD is gradually being improved while the quantity of data being processed gradually increases. However, since a conventional interface such as a SATA may not be an interface specialized for a data storage device such as a SSD in comparison to other interfaces, performance of SATA may be limited. As a result, the nonvolatile memory express (NVMe) specification has been generated as part of an effort to make a standardized interface suitable for a SSD. The NVMe is an interface of a register level that performs a communication between a data storage device such as SSD and host software. The NVMe is based on a conventional PCIe bus and is an interface designed or, alternatively, optimized for a SSD.
As a semiconductor manufacturing technology develops, an operation speed of a host device such as a computer, a smart phone, a smart pad, etc. is being improved. As an operation speed of a host device is improved, a virtualization of driving a variety of virtualization functions in one host device is being introduced. However, since at least some implementations of conventional NVMe are designed without considering a virtualization, at least some conventional implementations of NVMe are limited with respect to supporting the virtualization function.